package main

import "fmt"

// Go中通过结构体定义类
// 类中有属性和方法
type Plane struct {
	// 结构体的字段就是定义的属性
	Name  string
	Color string
}

func main() {
	// 2.通过结构体创建的变量，就是一个对象
	// 实例化对象
	// 方法1：
	/*
		p1 := Plane{
			Name:  "歼-20",
			Color: "蓝色",
		}
		p2 := Plane{
			Name:  "歼-20plus",
			Color: "土黄色",
		}
		fmt.Println(p1)
		fmt.Println(p2)
		// 方法2：
		// p3 := Plane{"轰20", "绿色"}
		// fmt.Println(p3)
		// 方法3：
		var p3 Plane
		p3.Name = "直20"
		fmt.Println(p3)
	*/
	// 方法4：返回一个指针类型
	// p4 := &Plane{"F22", "灰色"}
	// fmt.Println(p4)
	// 方法5：new 开辟空间，存储指针类型
	p5 := new(Plane)
	r := *p5
	r.Color = "紫色"
	fmt.Println(r)
}
